1. Field of the Invention
This invention relates to a method and apparatus for the computerized simulation of automated factory systems, and more particularly, to a method and apparatus which allows a plurality of dissimilar computerized simulation systems or other elements of a factory system to be interactively coordinated, so that a single overall simulation of an entire factory system may be accomplished.
2. Discussion
Computerized simulation systems are used in a wide variety of factory and other applications where it is desirable to design and test an actual factory system without physically constructing it. These simulation systems allow the actual simulated system to be modified electronically so as to view changes in simulated system characteristics and performance functions as different features and entities are incorporated therein. These computerized simulation systems allow a system designer to view these changes without the needed expense and time associated with the actual purchasing or building of the system to be simulated or of the different sub-system entities or other components which are desired to be placed within the actual system. These computerized simulation systems typically reduce overall system design costs and decrease total design time.
Several different software-based systems for simulating factory equipment are now commercially available, and some of them are discussed below. While these simulation systems have proved to be a great design tool, they still have a number of drawbacks or shortcomings associated therewith. For example, each of these prior simulation systems have usually been created to perform a specific type of simulation task, often to the exclusion of other types of needed system tasks. For example, a kinematic simulation system generally allows a designer to perform such simulation tasks as determining the cycle time for a robot path, comparing the performance of different system robots, and developing robotic programs and modeling tools used upon the robots. Many of these kinematic simulation systems, however, are insufficient in other respects. For example, they usually fail to adequately model the flow of material within the simulated system due to the amount of detail that must be specified therewith, and they usually fail to provide procedures to develop statistical analysis of simulated system parameters or develop probabilistic system information. Also, they typically employ a lower level programming language than is typically used within a control portion of the modeled or simulated system, which makes it difficult to exchange simulation data between the kinematic simulation and other simulation systems which may also be in use.
A discrete event simulation system generally performs such tasks as predicting the performance of an actual system that is being simulated based upon certain defined inputs, capturing the currently available data for the simulated system so that it may be used as a baseline model, examining the effects of work station failures on actual simulated system throughput, and examining the effect of changes in the actual system parameters such as number of parts and queue sizes in terms of expected simulated system cycle time. Weaknesses of such prior discrete event simulation systems include the difficulty associated with the documentation of control techniques and the transition of these techniques to the actual system controllers. Additionally these simulation systems are usually unable to include three dimensional modeling techniques for physical devices which are placed within the actual system to be simulated.
Control simulation systems generally allow a system designer to make incremental modifications or expansions of the actual system control design, to determine needed interactions between a system work station within the actual system to be simulated, to determine parameters needed to coordinate elements within a work station, to generate test sequences, and to allow migration toward real system control. Weakness of such control simulation systems include the usual exclusion of three dimensional kinematic information associated with the actual system devices, the exclusion of statistical analysis procedures related to actual simulated system parameters, the difficulty associated with modeling time in the control domain, and the usual inability to model actual systems from a discrete-event point of view.
The combined use of any two or more of these different independent simulation systems mentioned above to simulate the operational characteristics of a factory system has proven to be very cumbersome and inefficient because changes made by one of the simulation systems are not automatically reflected within the simulations accomplished by the other simulation system in the combination. This, of course, creates errors and system design delays in realizing or perfecting the overall system simulation. This independence between the various simulation systems in use is thus counterproductive and fails to reflect, in the overall system simulation, the true interdependence of the various simulation systems upon the overall simulation to be created relative to the actual factory system or other system type to be simulated.
Additionally, current partitioning methodologies, although providing techniques for accurately "fitting" pieces of the simulated system into one of the aforementioned plurality of dissimilar simulation systems, fail to adequately allow such a system to be partitioned such that such fitting or mapping is easily and forthrightly accomplished and more importantly, usually fail to allow a system designer the opportunity to save and reuse prior simulation developments thusly saving time and resources in the development of the additional simulations. Thusly, these current methodologies introduce additional error into the simulation process by failing to adequately allow a system designer to easily decide which part of the factory system to be simulated should be placed into a particular simulation system or even which parts are necessary in order to achieve a viable and representative simulation. This lack of easily mapping simulated system pieces to a simulation system coupled with a lack of interaction between individual simulation systems has caused many errors in the simulation process and caused much time delay. Further, this inability to reuse prior developed simulation code has resulted in a concomitant waste of time and resources associated with the development of the desired simulation.
In light of the foregoing problems, it is therefore a principal object of the present invention to provide a simulation tool and methodology which allows a plurality of dissimilar simulation systems to be interactively networked so as to cooperate in the creation of a single overall simulation system of a factory system.
It is another object of this invention to define a plurality of devices within each of said dissimilar simulation systems and to provide a local communications portion and a local synchronization portion, within each of the devices, to route messages to and from the device and to synchronize the operation of the device respectively.
It is another object of this invention to provide a simulation system synchronization and communication router, resident in each of the dissimilar simulation systems, to route messages to and from each of the devices contained within the simulation system and to synchronize the operation of substantially all of the devices therein.
It is yet another object of this invention to provide a centralized control unit having a centralized synchronization portion therein, electronically coupled to each of the aforementioned simulation system synchronization and communication routers for generally synchronizing the operation of each of the dissimilar simulation systems.
It is yet a further object of this invention to provide an interface for each simulation system, with the interface being connected to the local synchronization portion of substantially all of the devices contained therein and which allows each of the individual simulation systems to utilize its own native programming language in achieving and creating an overall simulation of the factory system.
It is another object of this invention to provide a communications network to electronically couple the centralized control unit to each of the devices within each of the individual simulation systems with this network electronically transporting the messages therebetween.
It is yet another object of this invention to provide a partitioning methodology to allow a system designer to easily partition the overall actual system to be simulated into a number of individual dissimilar simulation systems by defining a plurality of components associated with the overall system and placing each component into one of the individual simulation systems and to further enable the storage and reuse of created simulation coding.
It is a further object of this invention to provide a centralized library which is in communication with the centralized control unit for allowing the developed simulation components and associated developed simulation code to be stored and retrieved therefrom thusly allowing simulation resources to be deployed in a substantially more efficient manner.